#pragma once

#include "../event_bus/Subscriber.h"
#include "../defines/define.h"


class Moves:public Subscriber
{
public:
    virtual ~Moves();
    virtual void take_effect() = 0;
protected:
    PropertyType _property_type;    //属性
    MovesType    _moves_type;       //招式类型
    MovesFlag    _moves_flag;       //招式特点
    int _pp;                        //pp
    int _priority = 0;              //先制度
    int _power;                     //威力
    int _hit_rate;                  //命中
};